Deep Learning

Master on Foundations of Data Science

This directory contains Jupyter's notebook-based documentation for the **Deep Learning** course. January 2017.

Deep learning is one of the fastest growing areas of machine learning and a hot topic in both academia and industry. This course will cover the basics of deep learning by using a hands-on approach.

Approach

We will illustrate all contents with Jupyter notebooks, a web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text.

Prerequisites

Minimal experience on Python programming, basic knowledge of calculus, linear algebra, and probability theory. Attendees are expected to bring their own laptops for the hands-on practical work.

Who

INSTRUCTORS: Jordi Vitrià. Full Professor at UB.

Why

By the end of this course, you will be able to:

  • Describe how a neural network works and combine different types of layers and activation functions.
  • Describe how these models can be applied in computer vision, text analytics, etc.
  • Develop your own models in Tensorflow.

Topics

  • Basic Concepts I
  • Basic Concepts II
  • Tensorflow
  • Convolutional Neural Networks
  • Recurrent Neural Networks
  • Unsupervised Learning
  • Advanced Applications

Software installation

Course repository: https://github.com/jvitria/DeepLearningMaster

The best way to run the course software is to use a Docker container. There’s full documentation on installing Docker at docker.com, but in a few words, the steps are:

  • Go to docs.docker.com in your browser.
  • Step one of the instructions sends you to download Docker.
  • Run that downloaded file to install Docker.
  • At the end of the install process a whale in the top status bar indicates that Docker is running, and accessible from a terminal.
  • Click the whale to get Preferences, and other options.
  • Open a command-line terminal, and run some Docker commands to verify that Docker is working as expected. Some good commands to try are docker version to check that you have the latest release installed, and docker ps and docker run hello-world to verify that Docker is running.
  • By default, Docker is set to use 2 processors. You can increase processing power for the app by setting this to a higher number in Preferences, or lower it to have Docker for Mac use fewer computing resources.
  • Memory - By default, Docker is set to use 2 GB runtime memory, allocated from the total available memory on your computer. You can increase the RAM on the app to get faster performance by setting this number higher (for example to 3) or lower (to 1) if you want Docker to use less memory.

Once Docker is installed, you can dowload the image of this course:

  • In a terminal, go to your course folder and run (This operation requires a good internet connection; it will take some minutes): docker pull datascienceub/deepub
  • Run the deepub image on your system: docker run -it -p 8888:8888 -p 6006:6006 -v /$(pwd):/notebooks datascienceub/deepub
  • Once these steps have been done, you can check the installation by starting your web browser and introducing this URL: http://localhost:8888.
  • Open a new Jupyter notebook and execute this instruction in a code cell: !git clone https://github.com/DeepLearningUB/DeepLearningMaster

In [1]:
import numpy
print('numpy:', numpy.__version__)

import scipy
print('scipy:', scipy.__version__)

import matplotlib
print('matplotlib:', matplotlib.__version__)

import IPython
print('iPython:', IPython.__version__)

import pandas
print('pandas:', pandas.__version__)

import sklearn
print('scikit-learn:', sklearn.__version__)

import tensorflow
print('tensorflow:', tensorflow.__version__)

import keras
print('keras:', keras.__version__)


('numpy:', '1.11.2')
('scipy:', '0.18.1')
('matplotlib:', '1.5.3')
('iPython:', '5.1.0')
('pandas:', u'0.19.1')
('scikit-learn:', '0.18.1')
('tensorflow:', '0.11.0')
('keras:', '1.1.2')
Using TensorFlow backend.